package partido;


import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;


public class Campeonato {
        
    private Collection partidos = new ArrayList();
    
    
    
    public void agregarPartido(Partido part) {
    	this.partidos.add(part);
    }
    
    public int getCantPartidosJugados() {
    	return this.partidos.size();
    }
    
    public int getGoles() {
    	int goles = 0;
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			goles += partido.getGoles();
			
		}
    	return goles;
    }
    
    public boolean jugaron(String eq1, String eq2) {
    	
    	boolean jugaron = false;
    	
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			if (eq1.equals(partido.getLocal()) && eq2.equals(partido.getVisitante()) ||
			(eq1.equals(partido.getVisitante()) && eq2.equals(partido.getLocal()) )) {
				jugaron = true;
			}
		}
    	return jugaron;
    }
    
//    otra implementacion del metodo jugaron.
//    public boolean jugaron(String eq1, String eq2){
//    	boolean jugaron = false;
//    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
//    	Partido partido = (Partido) iter.next();
//    	if ( partido.jugo(eq1) && partido.jugo(eq2) ) {
//    	jugaron = true;
//    	}
//    	return jugaron;
//    	}
    
    
    
    
    
    
    
    //Goles a favor
    public int getGolesLocal() {
    	int goles = 0;
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			goles += partido.getGolesLocal();
		}
    	return goles;
    }
    
    
    //Goles en contra
    public int getGolesVisitante() {
    	int goles = 0;
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			goles += partido.getGolesVisitante();
		}
    	return goles;
    }
    
    
    
    
    //diferencia de gol de un equipo
    
    
    
    //los puntos que hizo un equipo
    //Falta agregar el punto por empate
    //Cuenta los empates hechos por cualquier equipo
    public int puntosEquipo(String eq) {
    	int points = 0;
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			if(partido.gano(eq) == true) {
				points += 3;
			}
			if(partido.empato(eq) == true) {
				++points;
			}
		}
    	return points;
    }
    
    
    
    //cantidad total de jugadores expulsados en un campeonato
    public int getExpulsados() {
    	int exp = 0;
    	for (Iterator iter = partidos.iterator(); iter.hasNext();) {
			Partido partido = (Partido) iter.next();
			exp += partido.getExpulsados();
		}
    	return exp;
    }
    
    
    //dado un equipo, los otros equipos que tienen la misma cantidad de puntos
    //que devuelva una Collection
    
}
